#### A Deployment for Each Push

ZEIT Now for GitHub will **deploy every push by default**. This includes pushes and pull requests made to branches. This allows those working within the repository to preview changes made before they are pushed to production.

With each new push, if Now is already building a previous commit, the current build will be canceled to build the most recent commit so that you always have the latest changes deployed as quickly as possible.

#### Updating the Production Domain

If [Custom Domains](/docs/v2/custom-domains) are set from a project domains dashboard, pushes and merges to the [default branch](https://help.github.com/articles/setting-the-default-branch/) (commonly "master") will be made live to those domains with the latest deployment made with a push.

If you decide to revert a commit that has already been deployed to production, the previous [Production Deployment](/docs/v2/platform/deployments#production) from a commit will automatically be made available at the [Custom Domain](/docs/v2/custom-domains) instantly; providing you with instant rollbacks.

#### Preview URLs for the Latest Changes for Each Pull Request

The latest push to any pull request will automatically be made available at a unique [preview URL](/docs/v2/platform/deployments#preview) based on the project name, branch, and team or username. These URLs will be provided through a comment on each pull request.

#### Deployment Authorizations for Forks

If you receive a pull request from a fork of your repository and there is either a change to the [`now.json`](/docs/configuration) file or there are [secrets](/docs/v2/serverless-functions/env-and-secrets#adding-secrets) used in your project; Now will require an authorization from you or a member of your team to deploy the pull request.

This behavior protects you and your project from a leak of sensitive information.
